home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / gnu / apatch20.lha / patch-2.0.12u8 / NOT-NEEDED / Makefile.SH next >
Makefile  |  1992-09-15  |  3KB  |  118 lines

  1. case $CONFIG in
  2.     '') . config.sh ;;
  3. esac
  4. echo "Extracting Makefile (with variable substitutions)"
  5. cat >Makefile <<!GROK!THIS!
  6. # $Header: Makefile.SH,v 2.0.1.2 88/06/22 20:43:40 lwall Locked $
  7. #
  8. # $Log:    Makefile.SH,v $
  9. # Revision 2.0.1.2  88/06/22  20:43:40  lwall
  10. # patch12: config.h now depends on config.h.SH
  11. # Revision 2.0.1.1  88/06/03  15:00:48  lwall
  12. # patch10: upgraded to match some new metaconfig stuff
  13. # Revision 2.0  86/09/17  15:36:15  lwall
  14. # Baseline for netwide release.
  15. # Revision 1.2  86/09/08  14:07:42  lwall
  16. # Split up patch.c.
  17. # Revision 1.1  86/08/01  20:18:35  lwall
  18. # Initial revision
  19.  
  20. CC = $cc
  21. bin = $bin
  22. mansrc = $mansrc
  23. manext = $manext
  24. CFLAGS = $ccflags -O
  25. LDFLAGS = $ldflags
  26. SMALL = $small
  27. LARGE = $large $split
  28.  
  29. !GROK!THIS!
  30. cat >>Makefile <<'!NO!SUBS!'
  31.  
  32. public = patch
  33. private = 
  34. manpages = patch.man
  35. util = Makefile
  36.  
  37. c = patch.c pch.c inp.c util.c version.c backupfile.c
  38.  
  39. obj = patch.o pch.o inp.o util.o version.o backupfile.o
  40.  
  41. lintflags = -phbvxac
  42.  
  43. addedbyconf = Makefile Makefile.old bsd config.h config.sh eunice loc pdp11 usg v7
  44.  
  45. # grrr
  46. SHELL = /bin/sh
  47.  
  48. .c.o:
  49.     $(CC) -c $(CFLAGS) $(LARGE) $*.c
  50.  
  51. all: $(public) $(private) $(util)
  52.     @echo Done.
  53.  
  54. patch: $(obj)
  55.     $(CC) $(LDFLAGS) $(obj) $(libs) -o patch
  56.  
  57. config.h: config.h.SH
  58.     sh config.h.SH
  59.  
  60. # won't work with csh
  61. install: patch
  62.     export PATH || exit 1
  63.     -mv $(bin)/patch $(bin)/patch.old
  64.     cp patch $(bin)/patch
  65.     chmod 755 $(bin)/patch
  66.     -cp patch.man $(mansrc)/patch.$(manext)
  67.  
  68. uninstall:
  69.     rm -f $(bin)/patch $(mansrc)/patch.$(manext)
  70.     test ! -f $(bin)/patch.old || mv $(bin)/patch.old $(bin)/patch
  71.  
  72. clean:
  73.     rm -f patch *.o core
  74.  
  75. mostlyclean: clean
  76.  
  77. distclean: clean
  78.     rm -f $(addedbyconf)
  79.  
  80. realclean: distclean
  81.     rm -f *.orig *~
  82.  
  83. DISTFILES=ChangeLog Configure EXTERN.h INTERN.h MANIFEST Makefile.SH \
  84. README common.h config.H config.h.SH inp.c inp.h malloc.c patch.c patch.man \
  85. patchlevel.h pch.c pch.h util.c util.h version.c version.h backupfile.c \
  86. backupfile.h
  87.  
  88. dist: $(DISTFILES)
  89.     echo patch-2.0.`sed -e '/PATCHLEVEL/!d' -e 's/[^0-9]*\([0-9a-z.]*\).*/\1/' -e q patchlevel.h` > .fname
  90.     rm -rf `cat .fname`
  91.     mkdir `cat .fname`
  92.     ln $(DISTFILES) `cat .fname`
  93.     tar chZf `cat .fname`.tar.Z `cat .fname`
  94.     rm -rf `cat .fname` .fname
  95.  
  96. # The following lint has practically everything turned on.  Unfortunately,
  97. # you have to wade through a lot of mumbo jumbo that can't be suppressed.
  98. # If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
  99. # for that spot.
  100.  
  101. lint:
  102.     lint $(lintflags) $(defs) $(c) > patch.fuzz
  103.  
  104. patch.o: config.h common.h patch.c inp.h pch.h util.h version.h backupfile.h
  105. pch.o: config.h common.h pch.c pch.h util.h
  106. inp.o: config.h common.h inp.c inp.h util.h
  107. util.o: config.h common.h util.c util.h backupfile.h
  108. version.o: config.h common.h version.c version.h patchlevel.h util.h
  109. backupfile.o: config.h backupfile.c backupfile.h
  110.  
  111. !NO!SUBS!
  112. $eunicefix Makefile
  113.